#!/usr/bin/env bun

import { JsonToPptConverter } from '../../../../src/tools/convert/ppt/json-to-ppt.js';

async function createDecorationsDemo() {
  console.log('✨ 科技风装饰元素演示');
  console.log('='.repeat(50));
  
  try {
    const converter = new JsonToPptConverter();
    
    // 演示数据
    const demoData = [
      {
        "year": "2024",
        "presenter": "张三",
        "department": "技术研发部",
        "date": "2024年12月",
        "subtitle": "装饰元素演示版"
      },
      {
        "contents": [
          "✨ 左侧霓虹蓝装饰线",
          "🎨 顶部透明渐变遮罩",
          "🔷 右下角装饰元素",
          "📊 数据可视化支持",
          "🎯 现代科技感设计"
        ]
      },
      {
        "goals_overview": "本演示展示了升级后的PPT模板装饰功能，包括渐变背景、透明度支持和科技感图形元素。",
        "goals_list": [
          "🎨 视觉层次：通过装饰元素增强视觉层次感",
          "✨ 科技感：霓虹蓝配色营造科技氛围",
          "📐 几何设计：简洁的几何图形装饰",
          "🌈 渐变效果：背景渐变增加深度感"
        ],
        "year": "2024"
      }
    ];
    
    const outputPath = '/Users/ahata/Downloads/科技风装饰演示.pptx';
    
    console.log('\n🎨 生成带装饰元素的科技风PPT...');
    console.log(`📂 输出路径: ${outputPath}`);
    
    const result = await converter.convertToPpt({
      data: demoData,
      templateName: 'year-end-tech',
      outputPath: outputPath,
      options: {
        author: '张三',
        title: '科技风装饰元素演示',
        size: 'widescreen',
        theme: 'modern',
        includePageNumbers: true
      }
    });
    
    console.log('\n✅ 装饰演示PPT生成成功！');
    console.log('📊 生成统计:');
    console.log(`   - 文件大小: ${(result.size / 1024).toFixed(2)} KB`);
    console.log(`   - 幻灯片数量: ${result.slideCount} 页`);
    console.log(`   - 文件位置: ${result.outputPath}`);
    
    console.log('\n🎨 新增装饰功能:');
    console.log('   ✨ 左侧霓虹蓝装饰线 (#00d4ff)');
    console.log('   🎭 顶部透明渐变遮罩 (80%透明度)');
    console.log('   🔷 右下角几何装饰元素');
    console.log('   📐 渐变背景支持');
    console.log('   🌈 透明度层叠效果');
    
    console.log('\n🔧 技术特性:');
    console.log('   - 支持形状占位符 (shape type)');
    console.log('   - 支持透明度设置 (0-100%)');
    console.log('   - 支持多层装饰元素');
    console.log('   - 支持位置百分比定位');
    console.log('   - 兼容PPTXGenJS 3.12.0');
    
    console.log('\n💡 使用方法:');
    console.log('1. 在模板JSON中定义 "decorations" 对象');
    console.log('2. 配置 leftAccent、headerOverlay、cornerElements');
    console.log('3. 支持颜色、透明度、尺寸自定义');
    console.log('4. 占位符支持 type: "shape" 类型');
    
  } catch (error) {
    console.error('\n❌ 装饰演示生成失败:');
    console.error('   错误信息:', error instanceof Error ? error.message : String(error));
    console.error('   完整错误:', error);
  }
}

if (import.meta.main) {
  createDecorationsDemo();
}
